Method for managing pair states in a storage system

ABSTRACT

A storage system includes an application server that provides an application composed of a plurality of programs, a plurality of first volumes that store data that the programs use, and a plurality of second volumes set in pair states where replicas of the plurality of first volumes are stored. A program for managing the storage system controls a computer to execute the procedures of: identifying any one of the plurality of programs; identifying a first volume that the identified program uses; obtaining every second volume set in a pair state with the first volume; and summarizing the first volume and the obtained second volume for the identified program.

CROSS-REFERENCE TO PRIOR APPLICATION

This is a continuation application of U.S. Ser. No. 11/033,402, filedJan. 12, 2005 (now U.S. Pat. No. 7,206,912).

This application relates to and claims priority from Japanese PatentApplication No. 2004-323902, filed on Nov. 8, 2004 the entire disclosureof which is incorporated herein by reference.

BACKGROUND

This invention relates to a storage system that replicates applicationdata between plural volumes.

In the field of SANs (Storage Area Networks) or NASs (Network AttachedStorages) where integrated storages are accessed from plural serversthrough networks, current systems tend to be large-scaled andhighly-functional.

As an example of a highly-functional system, a technique is known inwhich data of applications running on servers is replicated (copied) toremote places, or the like, using a remote copy function possessed bythe storages, while continuing other tasks, thereby enhancingredundancy.

Also, in such a SAN or NAS, plural servers utilize plural storages, sothere is a tendency that a storage system including the storages and theassociated network will be large-scaled and complicated. In order tomake efficient use of the storages, a technique, as disclosed, forexample, in JP 2004-133897 A, is known in which a fault that occurs tothe storages or the network for connecting the storages and the serversto each other is detected without delay.

In this conventional example, an event message from a deviceconstituting the storage system is obtained, and a management console isinformed of the fault according to the importance of the event message.

In the conventional example described above, however, there is a problemin that, although it is possible to identify the location at which thefault has occurred (i.e., the device to which the fault has occurred),it is impossible to know how replication carried out by the remote copyfunction has been influenced by the fault.

In other words, from the storage perspective, it is sufficient that anadministrator administering the storage system (hereinafter referred toas the “storage administrator”) identifies in which device the fault hasoccurred and is able to make repairs to the device. On the other hand,an administrator administering tasks (applications) on the servers(hereinafter referred to as the “application administrator”) is requiredto grasp how the replication performed in units of the applications hasbeen influenced by the fault that occurred in the storage system, andhow to maintain the consistency of data.

However, when a fault relating to replication has occurred in alarge-scaled storage system, even when the application administratorknows the location of the fault, it is extremely difficult for him/herto check how the fault affected replication relations of a volume of astorage that a specific application uses, and how each volume that is areplication destination of the volume has been influenced. Also, in anenvironment in which replication is performed for plural applications,there can occur a case where the same volume is used by two or moreapplications. In such a case, it can be extremely difficult for theapplication administrator to grasp the range of influence resulting fromthe fault that occurred in the storage system with respect to thereplication relations.

SUMMARY

It is therefore an object of this invention to allow an applicationadministrator to grasp with ease and without delay the effects of afault that occurs concerning replication performed in units ofapplications.

To achieve the above-mentioned objects, this invention provides a methodof managing a storage system including an application server thatprovides an application composed of a plurality of programs, a pluralityof first volumes that store data that the programs use, and a pluralityof second volumes set in pair states where replicas of the plurality offirst volumes are stored. The method includes: identifying any one ofthe plurality of programs; identifying a first volume that theidentified program uses; obtaining every second volume set in a pairstate with the first volume; and summarizing the first volume and thesecond volume for the identified program.

According to an aspect of this invention, operation information of thefirst volume and the second volume is collected, one of a fault and afaulty state of the pair state is detected as a connection state basedon the operation information, and the first volume and the second volumeset in the pair state and the connection state for an identified programare summarized.

Accordingly, with this invention, it becomes possible for theapplication administrator to monitor a volume that a specific programuses and the pair state (replication relation) of every volume set in apair state from this volume, and to monitor whether a problem hasoccurred to replication of data.

Also, it becomes possible for the application administrator to confirmwhether an abnormality has occurred to data of an application thathe/she manages and a pair state at a replication destination thereof byglancing at summarized information, which allows the applicationadministrator to grasp a fault concerning replication performed in unitsof applications with ease and without delay.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example of a block diagram showing an overall configurationof a system.

FIG. 2 is an example of a block diagram showing a softwareconfiguration.

FIG. 3 is an example of a block diagram showing a volume configurationand a port configuration of the storage system.

FIG. 4 is an explanatory diagram showing an example of an applicationconfiguration information table.

FIG. 5 is an explanatory diagram showing an example of a configurationinformation and operation information table of a management server.

FIG. 6 is an explanatory diagram showing an example of a pair statedisplay table containing summarized connection states.

FIG. 7 is an explanatory diagram showing an example of an influencerange display table in the case of excessive I/O.

FIG. 8 is an explanatory diagram showing an example of an influencerange display table in the case of a wire snapping.

FIG. 9 is an example of a block diagram showing the volume configurationand the port configuration of the storage system in the case of theexcessive I/O.

FIG. 10 is an example of a block diagram showing the volumeconfiguration and the port configuration of the storage system in thecase of the wire snapping.

FIG. 11 is a flowchart showing an example of pair state monitoringprocessing.

FIG. 12 is a subroutine showing an example of pair state summarizingprocessing performed in a step S18 in FIG. 11.

FIG. 13 is a flowchart showing an example of informing processingperformed by a monitoring program of an application management terminal.

FIG. 14 is a flowchart showing an example of replication relationinfluence range identifying processing performed by a storage managementprogram of a management server.

FIG. 15 is a subroutine showing an example of processing that isperformed in a step S46 in FIG. 14 and that registers data consistencyin the influence range display table.

FIG. 16 is a subroutine showing an example of processing that isperformed in a step S49 in FIG. 14 for registering the IDs of volumesconnected to host-side ports in the influence range display table.

FIG. 17 is a subroutine showing an example of processing that isperformed in a step S52 in FIG. 14 for registering the IDs of volumesconnected to remote-side ports in the influence range display table.

FIG. 18 is a subroutine showing an example of processing that isperformed in a step S50 in FIG. 14 for registering information necessaryto registered pair states in an influence range display table concerningthe host-side ports.

FIG. 19 is a subroutine showing an example of processing that isperformed in a step S53 in FIG. 14 for registering information necessaryto registered pair states in an influence range display table concerningthe remote-side ports.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, an embodiment of this invention will be described withreference to the accompanying drawings.

FIG. 1 is a configuration diagram of a system to which this inventionhas been applied. Connected to a LAN (Local Area Network) 6 areapplication servers 2 to 4 that execute application programs, amanagement server 1 that manages storages and a SAN (Storage AreaNetwork) 7, an application management terminal 5 that manages theapplication programs of the application servers 2 to 4, and storagesystems (storage subsystems) 10000 to 10003. It should be noted that theLAN 6 is, for instance, formed by a TCP/IP network or the like. Also,the SAN 7 is, for instance, formed by FCs (Fibre Channels), with FCswitches (not shown) and the like constituting the SAN 7 being alsoconnected to the LAN 6.

The application servers 2 to 4 are connected to the storage systems10000 to 10003 through the SAN 7 and perform reading/writing of data andthe like. The management server 1 makes settings of the storage systems10000 to 10003 and the FC switches and performs collection of operationinformation (performance information) through the LAN 6. As will bedescribed later, the application management terminal 5 inquires of theapplication servers 2 to 4 and the management server 1 about areplication relation as to an application designated by an applicationadministrator or the like who administers the application servers 2 to4, obtains information containing consistency of the replicationrelation and the like from the management server 1, and informs theapplication administrator of the information.

In the system configuration in FIG. 1, the management server 1 includesa CPU 11, a memory 12, a LAN interface (I/F) 14, and a disk device 13.Also, the management server 1 is connected to the LAN 6 through the LANinterface 14. A control program (to be described later) has been loadedinto the memory 12 and the CPU 11 reads and executes the controlprogram. Through this execution, various processing (to be describedlater) is performed.

The application server 2 includes a CPU 21, a memory 22, a SAN interface23 connected to the SAN 7, and a LAN interface 24. The applicationserver 2 accesses the storage systems 10000 to 10003 on the SAN 7through the SAN interface 23 and performs reading/writing of data. Anapplication program to be described later has been loaded into thememory 22 of the application server 2 and the CPU 21 reads and executesthe application program. Through this execution, a task is provided to aclient (not shown) on the LAN 6.

It should be noted that the application servers 3 and 4 are alsoconfigured in the same manner as the application server 2 describedabove. Thus, application server 3 includes a CPU 31, a memory 32, a SANinterface 33 connected to the SAN 7, and a LAN interface 34, andapplication server 4 includes a CPU 41, a memory 42, a SAN interface 43connected to the SAN 7, and a LAN interface 44. With this configuration,the application servers 3 and 4 execute predetermined applicationprograms, perform data access to the storage systems 10000 to 10003through the SAN 7, and provide tasks to the client (not shown) on theLAN 6.

Meanwhile, the storage system (storage subsystem) 10000 includes a diskdevice 104 and a disk controller 100 that controls the disk device 104.

In FIG. 1, the disk controller 100 of the storage system 10000 includesa CPU, a memory, a cache, and a SAN interface 101 connected to a port102. Also, the disk controller 100 is connected to a LAN interface 103.Further, the disk controller 100 is connected to the disk device 104 andaccesses volumes set in the disk device 104 through the disk interface.It should be noted that the disk device 104 includes plural disks.

The port 102 is connected to the SAN 7 and exchanges data with theapplication servers 2 to 4. Also, the port 102 is connected to the LAN 6through the LAN interface 103 and performs a setting of the volumes(storage volumes) of the disk device 104, collection of operationinformation, and the like according to commands from the managementserver 1. It should be noted that as will be described later, the port102 includes a host-side port for performing communication with theapplication servers 2 to 4 and a remote-side port for performingcommunication with the storage that is a replication destination.

A control program has been loaded into the memory of the disk controller100 and the CPU 101 reads and executes the control program. Through thisexecution, volume setting processing, remote copy (shadow image,universal replication, true copy) between volumes or between storages,processing for obtaining operation information of each volume or eachport, and the like are performed according to commands from themanagement server 1. It should be noted that the universal replicationrefers to remote copy based on transfer of journal files (historyinformation of writing data from the application servers 2 to 4).

The storage systems 10001 to 10003 are also configured in the samemanner as the storage system 10000 described above. Thus, storage system10001 includes a disk controller 200, a SAN interface 201 connected to aport 202, a LAN interface 203, and a disk device 204; storage system10002 includes a disk controller 300, a SAN interface 301 connected to aport 302, a LAN interface 303, and a disk device 304; and storage system10003 includes a disk controller 400, a SAN interface 401 connected to aport 402, a LAN interface 403, and a disk device 404. With thisconfiguration, the storage systems 10001 to 10003 execute predeterminedcontrol programs and access volumes provided on disk devices 204, 304,and 404 according to requests received from the application servers 2 to4 through the SAN 7.

Also, as will be described later, replication relations are set amongthe volumes of the disk devices of the storage systems 10000 to 10003.

Software Configuration

Next, with reference to FIG. 2, a software configuration of thisembodiment will be described.

The application programs on the application servers 2 to 4 store data inpredetermined volumes of the storages. Also, as will be described later,pair volumes for creating replicas are set for the volumes. In thisembodiment, relations between volumes (hereinafter referred to as the“primary volumes”), with respect to which the application servers 2 to 4perform reading/writing, and volumes (hereinafter referred to as the“secondary volumes”), in which the contents of the primary volumes arewritten and replicas are created, are referred to as the “pair states”(or the “pair volumes”). In addition, a case where a replica of aprimary volume is created by writing the contents of its correspondingsecondary volume into another volume is also included in the pairstates. Also, the pair states are applicable to between volumes in thesame storage as well as between volumes of different storage systems anda case where replication chaining (pair state cascading) is performedbetween different storage systems is also contained in the pair states.

In this embodiment, the pair states between the volumes viewed from theapplication programs on the application servers 2 to 4 are monitored,and when it is detected that an abnormality has occurred to a pairstate, the application administrator is informed of the abnormality.

First, in the management server 1, a storage management program 15 isrunning that manages the storage systems 10000 to 10003 connected to theSAN 7. This storage management program 15 monitors the pair statesbetween the volumes and operation states in units of applications,detects an abnormality, and informs the application management terminal5 of a result of the monitoring.

To do so, the storage management program 15 collects configurationinformation (volume configuration and path configuration, for instance)of the storage systems 10000 to 10003 from the disk controllers 100 to400 in predetermined cycles or the like, collects operation information(I/O frequency, throughput, and side file usage ratio of each volume,for instance) of the storage systems 10000 to 10003 from the diskcontrollers 100 to 400 in predetermined cycles or the like, and updatesa configuration information and operation information table 16. Itshould be noted that the storage management program 15 may have afunction of setting and changing the volume configurations and the likeof the storage systems 10000 to 10003 in addition to the functionsdescribed above. It should be noted that in the operation informationdescribed above, the I/O frequency is indicated by the number of I/Obytes per second or the like and the throughput is a value expressed bythe data transfer speed (kilobytes per second) of each volume or thelike. Also, the side file usage ratio shows a ratio of the data cache ofthe disk controller used for copy of each pair state. When the side fileusage ratio is low, this indicates that data writing is performedsmoothly at the time of copy. On the other hand, when the side fileusage ratio is high, this indicates a case where the throughput of aport used for data writing has been lowered, for instance.

The disk controllers 100 to 400 of the storage systems 10000 to 10003monitored by the management server 1 includes configuration informationmanagement units 110 to 410 that manage the volume configurations andthe like of the storages and operation information management units 120to 420 that manage the operation information of the volumes. Also, themanagement server 1 inquires of the disk controllers 100 to 400 of thestorage systems 10000 to 10003, respectively, about the configurationinformation and the operation information in predetermined cycles or thelike and collects the information. It should be noted that the diskcontrollers 100 to 400 of the storage systems 10000 to 10003,respectively, may voluntarily inform the management server 1 of theconfiguration information and the operation information in predeterminedcycles.

Next, in each of the application servers 2 to 4, application programsare running. For instance, an application APP1 is executed in theapplication server 2, an application APP2 is executed in the applicationserver 3, and an application APP3 is executed in the application server4. In general, there is a case where an application is composed ofplural programs. In this example, a case is shown in which theapplication APP1 of the application server 2 is composed of anapplication program APP1-1.exe and an application program APP1-2.exe andthe applications APP2 and APP3 of the application servers 3 and 4 arerespectively composed of a single application program APP2-1.exe and asingle application program APP3-1.exe.

In addition, in the application servers 2 to 4, application managementprograms 25, 35, and 45 that manage the applications APP1 to APP3 arerunning as monitoring agents of the application servers 2, 3, and 4,respectively.

The application management programs 25 to 45 manage a list of programsof the applications, a list of volumes of the storage systems 10000 to10003 that the programs use, and information showing whether the volumesare shared by other programs of the same application and/or programs ofother applications as configuration information tables 26, 36, and 46 inthe application servers 2, 3, and 4, respectively.

The application programs 25 to 45 inform the management server 1 ofinformation in the configuration information tables 26, 36, and 46according to commands from the application management terminal 5.

In the application management terminal 5, a monitoring program 55 formonitoring the pair states in units of the applications of theapplication servers 2 to 4 is running. This monitoring program 55 has alist (application configuration information table 550—see FIG. 4) of theapplication programs of the applications executed at the applicationservers 2 to 4 and, when the application administrator designates anapplication name, extracts application programs corresponding to thedesignated application name from the application table. Then, themonitoring program 55 commands the application management programs ofthe application servers 2 to 4 that execute the application programs toinform the management server 1 of the configuration information of theapplication programs.

Then, the storage management program 15 of the management server 1returns a result of reference as to the pair states to the monitoringprogram 55 of the application management terminal 5 in units ofapplication names. The monitoring program 55 displays the monitoringresult received from the storage management program 15 on a displayequipment (not shown) of the application management terminal 5 or thelike.

Volume Configuration

Next, with reference to FIG. 3, an example of the configurations andpair states of the volumes set in the storage systems 10000 to 10003will be described.

In FIG. 3, volumes 001, 010, and 020 are set in the disk device 104 ofthe storage system 10000. In a like manner, volumes 002, 011, and 021are set in the disk device 204 of the storage system 10001, volumes 003,004, and 012 are set in the disk device 304 of the storage system 10002,and a volume 005 is set in the disk device 404 of the storage system10003.

Also, a port CL1-A is provided for the storage system 10000 as ahost-side port, is connected to the volumes 001, 010, and 020, andperforms communication with the application servers 2 to 4. In addition,a port CL1-D is provided as a remote-side port through which the volumes001 and 020 are connected to the storage system 10001.

Ports CL1-B and CL2-B are provided for the storage system 10001 ashost-side ports, are respectively connected to the volume 002 and thevolume 011, and perform communication with the application servers 2 to4. In addition, a port CL1-E is provided as a remote-side port throughwhich the volumes 002 and 011 are connected to the storage system 10002.

Here, a pair state is set in which the volume 001 of the storage system10000 is set as a primary volume (primary), the volume 002 of thestorage system 10001 is set as a secondary volume (secondary), and areplica of the volume 001 is created in the volume 002. It should benoted that this pair state is set by the management server 1 in advance(the same applies to the following description).

In a like manner, the volume 010 of the storage system 10000 and thevolume 011 of the storage system 10001 are set in a pair state (copyrelation) and the volume 020 of the storage system 10000 is set in apair state with the volume 021 of the storage system 10001. Here, thevolume 021 does not have a host-side port, so the pair state between thevolumes 020 and 021 becomes Simplex (denoted as “SMPL” in the drawing).

Then, ports CL2-B and CL1-A are provided for the storage system 10002 ashost-side ports, are respectively connected to the volume 003 and thevolume 004, and perform communication with the application servers 2 to4. In addition, a port for remote connection is provided through whichthe volume 012 is connected to the storage system 10001.

Here, the volumes 003 and 004 of the storage system 10002 are set in apair state (local copy) where the volume 003 is the primary volumethereof.

Also, pair state cascading is set in which the volume 002 of the storagesystem 10001 is set as the primary volume (primary) of a pair state, thevolume 003 of the storage system 10002 is set as the secondary volume(secondary) of the pair state, a replica of the volume 002 is created inthe volume 003, and a replica of the volume 003 is further created inthe volume 004.

Also, the volume 011 of the storage system 10001 and the volume 012 ofthe storage system 10002 are set in a pair state.

Finally, the volume 005 of the storage system 10003 is connected to thestorage system 10002 through a port for remote connection and the volume004 and the volume 005 are set in a pair state.

In other words, data in the volume 001 is replicated to the volumes 002,003, 004, and 005 through the cascading of the pair states of thevolumes. Also, the volume 020 is set in a simple pair state where areplica of data therein is created only in the volume 021. Further, datain the volume 010 is replicated to the volumes 011 and 012 in successionthrough a cascading pair state.

Next, with reference to FIG. 4, relations between the applicationservers 2 to 4 and the volumes of the storage systems 10000 to 10003will be described. FIG. 4 shows an example of the applicationconfiguration information table 550, which is described further below.It should be noted that this application configuration information table550 is set in advance by the application administrator or the like fromthe application management terminal 5.

In this example, the program APP1-1.exe of the application APP1 and theprogram APP3-1.exe of the application APP3 use the volume 001 of thestorage system 10000, the program APP1-2.exe of the application APP1uses the volume 020 of the storage system 10000, and the programAPP2-1.exe of the application APP2 uses the volume 010 of the storagesystem 10000.

Outline

Next, the outline of processing that is performed by the monitoringprogram 55 of the application management terminal 5, the applicationmanagement programs 25 to 45 of the application servers 2 to 4, and themanagement server 1, and monitoring of the pair states of the volumesviewed from the applications will be described.

First, as indicated by an arrow S1 in FIG. 2, the management server 1collects the configuration information and the operation informationfrom the disk controllers of the storage systems 10000 to 10003 inadvance or periodically, and stores the collected information in theconfiguration information and operation information table 16 of themanagement server 1. The configuration information in the configurationinformation and operation information table 16 shows the chaining of thepair relations of the volumes (configuration of the cascading), therelations of the allocated ports, and the like. Also, the operationinformation in the configuration information and operation informationtable 16 shows the pair states, the directions of copy, the I/Ofrequencies, the side file usage ratios, the throughputs between theports, and the like.

FIG. 5 shows an example of this configuration information and operationinformation table 16. In FIG. 5, the configuration information andoperation information table 16 is composed of a primary column 1611 thatstores the identifiers of the primary volumes and the identifiers of thestorages (storage subsystems) having the primary volumes, a secondarycolumn 1612 that stores the identifiers of the secondary volumes and theidentifiers of the storages having the secondary volumes, a host-sideport ID column 1613 that stores the identifiers of the host-side portsof the volumes given in the primary column 1611, and a remote-side portID column 1614 that stores the identifiers of the remote-side ports ofthe volumes given in the primary column 1611.

Also, the configuration information and operation information table 16includes a connection state column 1615 that stores the connectionstates between the primary volumes in the primary column 1611 and thesecondary volumes in the secondary column 1612. For instance, theconnection states are each set to one of “COPY” indicating a state wherereplication (shadow image) is normal, “ERROR” indicating a case where aproblem (fault) has occurred to replication, “SMPL” indicating a statewhere Simplex described above is normal, “WARN” indicating a case wherethere is a danger that a problem (fault) would occur to replication, and“PAIR” indicating a state where replication (universal replication) isnormal.

Further, the configuration information and operation information table16 includes an I/O frequency column 1616 that shows the I/O transferamounts per unit time of the host-side ports of the primary volumes, athroughput column 1617 that shows data transfer speeds per unit timebetween the primary volumes and the secondary volumes, and a side fileusage ratio column 1618 that shows the usage ratios of the caches usedfor replication of the pair states. It should be noted that the I/Ofrequency column 1616 and the throughput column 1617 may store operationinformation of the host-side ports as well as the remote-side ports.

Next, as indicated by an arrow S2 in FIG. 2, the applicationadministrator inputs the name of an application that is a monitoringtarget from the application terminal 5. Here, a task name or anapplication program name may be inputted instead.

In the application management terminal 5, the application configurationinformation table 550 is set in advance. This application configurationinformation table 550 is composed of an application name column 551 thatstores the names of the applications, a program name column 552 thatstores the identifiers of programs of the applications whose names aregiven in the application name column 551, a volume ID column 553 thatstores the identifiers of the volumes of the storages that are used bythe programs whose IDs are given in the program name column 552, ashared application name column 554 that stores the names of otherapplications that also use the volumes whose IDs are given in the volumeID column 553, an informing level column 555 that stores levels at whichnotifications (warnings) should be issued by e-mail for the states ofvolumes in pair states with the volumes whose IDs are given in thevolume ID column 553, a destination column 556 that stores e-mailaddresses to which the notifications should be sent, and a server namecolumn 557 that gives the identifiers of the application servers thatexecute the applications whose names are given in the application namecolumn 551.

When the input described above is the input of an application programname, as indicated by an arrow S3 in FIG. 2, the monitoring program 55refers to the application configuration information table 550 shown inFIG. 4 and instructs the application management program of theapplication server corresponding to the inputted program name to monitora program having the inputted program name. Also, when the inputdescribed above is the input of an application name, the monitoringprogram 55 refers to the application configuration information table550, extracts each program name corresponding to the inputtedapplication name from the program name column 552, and instructs theapplication management program of the application server that executeseach program having the extracted program name to monitor the program.

As indicated by an arrow S4 in FIG. 2, in the application server, theapplication management program refers to the configuration informationtable using the application name or program name inputted from theapplication management terminal 5 as a key and obtains information ofeach volume and the like corresponding to the application name orprogram name.

Here, each of the configuration information tables 26 to 46 is a tablecomposed of the application name column 551, the program name column552, the volume ID column 553, and the share application name column 554among the columns of the application configuration information table 550shown in FIG. 4 described above, and gives information of theapplication executed in the application server having the configurationinformation table.

Then, as indicated by an arrow S5 in FIG. 2, the application managementprograms 25 to 45 sends, to the management server 1, information of theapplication, in other words, a list of volumes that programs of theapplication uses and information showing whether the volumes are sharedby other programs of the application or programs of other applications.

Following this, as indicated by an arrow S6 in FIG. 2, the storagemanagement program 15 of the management server 1 refers to theconfiguration information and operation information table 16 using thevolume list received from the application server as a key and reads thepair state (pair volume) configuration information and operation stateof each volume on the volume list from the configuration information andoperation information table 16.

Then, as indicated by an arrow S7 in FIG. 2, the management server 1summarizes the pair states of the volumes in units of program namesusing the read pair state configuration information and operationinformation, in other words, using a list of programs corresponding tothe designated application name, a list of volumes that the programsuse, information showing whether the volumes are shared by otherprograms of the same application or programs of other applications, thepair information of each volume on the volume list, the configurationinformation of cascaded volumes, and the operation states of thecascaded volumes, generates a pair state display table 17 shown in FIG.6 that shows the summarized connection states of the pair states, andsends the generated pair state display table 17 to the applicationmanagement terminal 5. It should be noted that FIG. 6 relates to a casewhere APP1 was inputted as the application name at the applicationmanagement terminal 5.

The pair state display table 17 shown in FIG. 6 is composed of anapplication name column 561 that stores the names of applications, aprogram name column 562 that stores the identifiers of programsconstituting the applications whose names are given in the applicationname column 561, a pair name column 563 that stores the pairedidentifiers of volumes in pair states that the programs use, aconnection state column 564 that stores the connection states of thepairs, and a connection state (summary) column 565 where the connectionstates of the pairs have been summarized in units of program names.

The connection state (summary) column 565 of this pair state displaytable 17 is a result of extraction of the worst connection state fromamong the connection states corresponding to each application name inthe application name column 561. Here, for instance, “ERROR” indicatesthe worst state, “WARN” indicates the next worst state, and each valueother than “ERROR” and “WARN” indicates a normal state. In the case ofthe program APP1-1.exe of the application APP1 in FIG. 6, for instance,the pair name “002-003” corresponds to the connection state “ERROR”, sothe monitoring program 55 regards this connection state as arepresentative pair state of the program APP1-1.exe and stores “ERROR”in the connection state (summary) column 565 for this program.

Then, as indicated by the arrow S7 in FIG. 2, the storage managementprogram 15 of the management server 1 transmits information in the pairstate display table 17 edited in the manner described above to theapplication management terminal 5. On receiving this information, asindicated by an arrow S8 in FIG. 2, the monitoring program 55 of theapplication management terminal 5 displays the pair state display table17 on the display equipment (not shown) and informs the applicationadministrator or the like of the pair states summarized in units ofapplications.

On receiving the pair state display table 17, the monitoring program 55of the application management terminal 5 compares the connection statesin the connection state column 564 of the pair state display table 17with the informing levels in the informing level column 555 of theapplication configuration information table 550. When any connectionstate in the column 564 is worse than its corresponding informing levelset in the informing level column 555, the monitoring program 55transmits an e-mail containing a corresponding application name, pairstate, and connection state to a predetermined e-mail destination column556, thereby informing the application administrator of a warning or anabnormality.

In addition, when WARN or ERROR exists in the connection state column564 of the pair state display table 17, the management server 1identifies the range of an influence on application replication in themanner described below.

The replication relation influence range identifying is a function of,when an abnormality has occurred to a pair volume state relating to anapplication that is a monitoring target or an abnormality is likely tooccur thereto, selectively displaying a range where the applicationadministrator needs to take measures, and a range where the problem isconsidered to exert influences. When doing so, the storage managementprogram 15 obtains operation information relating to the phenomenon thathas occurred and narrows down the influence range according to theobtained operation information. Consequently, even when there haveoccurred phenomena that seem to be the same, the range of the narrowingdown varies depending on circumstances at that time.

Hereinafter, two examples of the influence range identifying by thestorage management program 15 will be described. It should be noted thatthe details of the processing for narrowing down the influence rangewill be described later.

1. Case of Excessive I/O

First, a case where an abnormality has occurred to a pair state due toexcessive disk I/O of an application will be described.

When the “application APP2” is set as a monitoring target in theapplication management programs 25 to 45, at a point in time when thestorage management program 15 detects that the pair state of the pair“010-011” becomes “WARN” in FIG. 5, the storage management program 15starts additional information obtainment for performing the narrowingdown of display information.

As a reason why the pair state becomes “WARN”, broadly, a possibilitythat “any problem has occurred to connection for pair linkage” and apossibility that “a delay has occurred to copy processing (replication)due to excessive writing into the primary volume of a pair” areconceivable. Therefore, the storage management program 15 obtainsstatistical information of the I/O frequency in the I/O frequency column1616 and the throughput in the throughput column 1617 in FIG. 5described above, and checks whether a steep change has occurred to thesevalues. In this example, when it is found from the statisticalinformation that the I/O frequency has significantly increased recently,the storage management program 15 extracts the volumes 001 and 020belonging to the port CL1-A that the volume 010 uses for host connectionfrom the configuration information and operation information table 16 inFIG. 5, and judges that these volumes are appropriate as a “range inwhich it is required to take measures”. In other words, a state shown inFIG. 9 has occurred in this example.

Then, necessary information is stored in an influence range displaytable (warning display table) 18 shown in FIG. 7, and information inthis influence range display table 18 is sent to the applicationmanagement terminal 5. The monitoring program 55 of the applicationmanagement terminal 5 receives the influence range display table 18 andoutputs it to the display equipment.

As shown in FIG. 7, the influence range display table 18 is composed ofa primary column 1801 that stores the identifiers of primary volumes andthe identifiers of storage systems (storage subsystems) having thevolumes, a secondary column 1802 that stores the identifiers ofsecondary volumes and the identifiers of storages having the volumes, arelated application name column 1803 that stores the names ofapplications that perform access to the volumes whose IDs are given inthe primary column 1801, a host-side port ID column 1804 that stores theidentifiers of the host-side ports of the volumes whose IDs are given inthe primary column 1801, an I/O frequency column 1805 that stores theI/O frequencies of the host-side ports whose IDs are given in thehost-side port ID column 1804, a throughput column 1806 that stores thethroughputs of the host-side ports whose IDs are given in the host-sideport ID column 1804, a side file usage ratio column 1807 that stores theusage ratios of caches used for replication of pair states, a dataconsistency (primary) column 1808 that stores the consistency of data ona primary side, and a data consistency (secondary) column 1809 thatstores the consistency of data on a secondary side. It should be notedthat in this example, the port IDs are used as route information betweenthe primary volumes and a host (application server) side, although pathinformation or the like may be used instead.

It is possible for the application administrator to prevent degradationof performance of applications from occurring by performing loaddistribution with respect to the volume “010” that is used by theapplication “APP2”, and by changing the allocated port for hostconnection of the volumes relating to the applications “APP1” and “APP3”with reference to the influence range display table 18 displayed on thedisplay equipment of the application management terminal 5. Also, inthis case, no abnormality has occurred to replication itself in the pair“010-011”, so application information concerning the pair “011-012” thatis cascaded with this pair volume is not contained in the influencerange display table 18.

2. Case of Wire Snapping

Next, a case where an abnormality has occurred to a pair state due towire snapping of a fibre-channel cable constituting the SAN 7 will bedescribed.

When “APP1” is set as a monitoring target in the application managementprogram 25 to 45, at a point in time when the storage management program15 detects that the pair state of “002-003” becomes “ERROR” in FIG. 5,the storage management program 15 starts additional informationobtainment for performing the narrowing down of display information.

As a reason why the pair state becomes “ERROR”, broadly, a possibilitythat “any problem has occurred to connection for pair linkage” and apossibility that “a delay has occurred to copy processing due toexcessive writing into the primary volume of a pair” are conceivable.

Therefore, the storage management program 15 obtains statisticalinformation of the I/O frequency in the I/O frequency column 1616 andthe throughput in the throughput column 1617 of the configurationinformation and operation information table 16 in FIG. 5 and checkswhether a steep change has occurred to these values. In this example, itis found from the statistical information that the throughput has become“0” from a certain point in time, so the storage management program 15judges that the pair “011-012” belonging to the remote-side port “CL1-E”that the volume “002” uses for remote copy is appropriate as the “rangein which it is required to take measures”. In other words, a state shownin FIG. 10 has occurred in this example.

Then, necessary information is stored in an influence range displaytable 19 in FIG. 8 and then information in this influence range displaytable 19 is sent to the application management terminal 5. Themonitoring program 55 of the application management terminal 5 receivesthe influence range display table 19 and outputs it onto the displayequipment.

As shown in FIG. 8, the influence range display table 19 is composed ofa primary column 1901 that stores the identifiers of primary volumes andthe identifiers of storages (storage subsystems) having the volumes, asecondary column 1902 that stores the identifiers of secondary volumesand the identifiers of storages having the volumes, a relatedapplication name column 1903 that stores the names of applications thatperform access to the volumes whose IDs are given in the primary column1901, a remote-side port ID column 1904 that stores the identifiers ofthe remote-side ports of the volumes whose IDs are given in the primarycolumn 1901, an I/O frequency column 1905 that stores the I/Ofrequencies of the remote-side ports whose IDs are given in theremote-side port ID column 1904, a throughput column 1906 that storesthe throughputs of the remote-side ports whose IDs are given in theremote-side port ID column 1904, a side file usage ratio column 1907that stores the usage ratios of caches that are used for replication ofpair states, a data consistency (primary) column 1908 that stores theconsistency of data on the primary side, and a data consistency(secondary) column 1909 that stores the consistency of data on thesecondary side.

It is possible for the application administrator to prevent a situationwhere a problem has occurred to replication from occurring by making arepair of the faulty link of the pair “002-003” that the applications“APP1” and “APP3” also use and changing the allocated port for remotecopy connection of the pair “011-012” relating to the application “APP2”with reference to the information in the influence range display table19 displayed on the application management terminal 5. Also, in thiscase, replication in the pair “002-003” has ended in failure, soinformation showing that there is a problem in the state of the primaryvolume of the pair “003-004” that is cascaded with the pair “002-003” isstored in the influence range display table 19. However, as to the pair“004-005”, its pair state is set to “SMPL”, so it is judged that noinfluence has been exerted on this pair and no information is storedinto the influence range display table 19.

Details of Processing

Next, the details of processing performed in the application managementterminal 5, the application servers 2 to 4, and the management server 1will be described below.

First, FIG. 11 is a flowchart showing an example of processing performedby the application management programs 25 to 45 of the applicationservers 2 to 4 and the storage management program 15 of the managementserver 1.

A step S11 is processing performed by the application managementprograms 25 to 45 of the application servers 2 to 4, and steps S12 toS19 are processing performed by the storage management program 15 of themanagement server 1.

First, as indicated by the arrows S1 and S2 in FIG. 2 described above,the monitoring program 55 of the application management terminal 5receives the input of an application name by the applicationadministrator or the like, obtains each program name and a server namecorresponding to the application name from the application configurationinformation table 550 shown in FIG. 4, and transmits the obtainedprogram name to an application server, which executes each programhaving the program name, as a monitoring target.

Next, in the step S11, the application management program of theapplication server that received the program name from the monitoringprogram 55 of the application management terminal 5 obtains the volumeID of each volume that the program having the received program name usesby referring to the configuration information table, and transmits theapplication name, the program name, and the volume ID to the managementserver 1.

In the step S12, the storage management program 15 stores theapplication name and the program name received from the applicationserver in the application name column 561 and the program name column562 of the pair state display table 17 shown in FIG. 6, respectively.

Then, in the step S13, the storage management program 15 judges whetheroperations in the steps S14 to S17 have been performed for every volumethat the application having the designated application name uses. When aresult of this judgment is negative, the processing proceeds to the stepS14. On the other hand, when the judgment result is positive, theprocessing proceeds to the step S18.

In the step S14, the storage management program 15 obtains a secondaryvolume by searching the configuration information and operationinformation table 16 shown in FIG. 5 using the received volume ID as akey, determines a pair name from the volume IDs in the primary column1611 and the secondary column 1612, obtains the connection state betweenthe primary volume and the secondary volume from the connection statecolumn 1615, and stores the pair name and the connection state in thepair name column 563 and the connection state column 564 of the pairstate display table 17, respectively.

Next, in the step S15, the storage management program 15 judges thepresence or absence of a cascade configuration corresponding to the pairvolume with reference to the presence or absence of information in theremote-side port ID column 1614 of the configuration information andoperation information table 16 in FIG. 5. When a port ID is stored inthe remote-side port ID column 1614, the storage management program 15judges that a cascade configuration exists and the processing proceedsto the step S16. On the other hand, when no port ID is stored in theremote-side port ID column 1614, the storage management program 15judges that no cascade configuration exists and the processing returnsto the step S13.

In the step S16, the storage management program 15 searches the primarycolumn 1611 and selects pair information where the volume ID in thesecondary column 1612 is set as a primary volume.

In the step S17, as to the selected pair information, the storagemanagement program 15 determines a pair name, obtains a pair state, andstores them in the pair state display table 17 in the same manner as inthe step S14 described above. Following this, the processing returns tothe step S15, and the operations in the steps S15 to S17 are repeateduntil the end point of the cascade configuration is reached. When theend point of the cascade configuration is reached, the processingreturns to the step S13.

When the search of the configuration information and operationinformation table 16 has been performed for every volume IDcorresponding to the program name designated from the applicationserver, the processing proceeds to the step S18 in which the storagemanagement program 15 makes a setting of the connection state (summary)column 565 of the pair state display table 17.

Following this, the storage management program 15 transmits informationin the pair state display table 17 to the application managementterminal 5 and ends the processing. Then, as described above, themonitoring program 55 of the application management terminal 5 outputsthe received pair state display table 17 to the display equipment of theapplication management terminal 5.

It is possible for the application administrator to immediately know apair state, for which it is required to take measures, as to thedesignated application name merely by viewing the connection state(summary) column 565 of the pair state display table 17 at theapplication management terminal 5. In other words, it is possible forthe application administrator to immediately grasp a pair state, forwhich measures should be taken, by searching for an application name,whose summarized connection state in the connection state (summary)column 565 of the pair state display table 17 is set to ERROR or WARN,and searching for a pair name, whose connection state in the connectionstate column 564 is set to ERROR or WARN, in the pair name column 563corresponding to the application name whose summarized connection stateis set to ERROR or WARN.

Accordingly, even when replication of data corresponding to oneapplication name is performed many times or replication is performedusing a cascade configuration, it becomes possible for the applicationadministrator to immediately grasp a pair state to which an abnormalityor a warning situation has occurred, to take measures without delay, andto circumvent a loss of replication or perform recovery from a losswithout delay.

Next, with reference to a subroutine shown in FIG. 12, the pair statesummarizing process performed in the step S18 in FIG. 11 (describedabove) will be described in detail.

In a step S20, the storage management program 15 obtains a list ofconnection states (pair states) of pairs corresponding to the programname in the pair state display table 17.

In a step S21, the storage management program 15 judges whether “ERROR”exists in the obtained connection state list. When a result of thisjudgment is positive, the processing proceeds to a step S24 in which thestorage management program 15 sets “ERROR” in the pair state (summary)column 565 and ends the subroutine.

On the other hand, when the judgment result is negative, the processingproceeds to a step S22 in which the storage management program 15 judgeswhether “WARN” exists in the connection state list. When a result ofthis judgment is positive, the processing proceeds to a step S25 inwhich the storage management program 15 sets “WARN” in the pair state(summary) column 565 and ends the subroutine.

On the other hand, when the judgment result is negative, the processingproceeds to a step S23 in which the storage management program 15 sets avalue (COPY, PAIR, SMPL, NORMAL, or the like, for instance) showing thatthe connection state is normal in the pair state (summary) column 565and ends the subroutine.

Through the processing described above, the summarized connection statecolumn 565 of the pair state display table 17 is completed to betransmitted to the application management terminal 5, thereby informingthe application administrator of the presence or absence of a pair stateabnormality or warning.

Next, with reference to FIG. 13, informing processing that is executedby the monitoring program 55 of the application management terminal 5when an abnormality has occurred to a pair state will be described.

A step S30 shows processing that occurs until the processing of thestorage management program 15 of the management server 1 shown in FIGS.11 and 12 (described above) is completed, and the pair state displaytable 17 is transmitted to the application management terminal 5.

Steps S31 and later show processing of the monitoring program 55 of theapplication management terminal 5 that received the pair state displaytable 17 from the management server 1. In the step S31, the monitoringprogram 55 obtains information in the pair state display table 17.

In a step S32, the monitoring program 55 judges whether a processing endcondition has been satisfied. In more detail, the monitoring program 55judges whether the processing has been performed for every program namein the pair state display table 17. When a result of this judgment isnegative, the processing proceeds to a step S33. On the other hand, whenthe judgment result is positive, the monitoring program 55 ends theprocessing.

In the step S33, the monitoring program 55 obtains the summarizedconnection states corresponding to the program names from the connectionstate (summary) column 565 one at a time, with the summarized connectionstate corresponding to the first program name in the pair state displaytable 17 being obtained first. Next, in a step S34, from the informinglevel column 555 of the application configuration information table 550shown in FIG. 4, the monitoring program 55 obtains the informing levelfor e-mail issuance corresponding to the program name.

Then, in a step S35, the monitoring program 55 compares the summarizedconnection state obtained in the step S33 and the informing levelobtained in the step S34 with each other. When the summarized connectionstate agrees with the informing level or when the summarized connectionstate is worse than the informing level, the processing proceeds to astep S36 in which the monitoring program 55 obtains a correspondinge-mail destination from the e-mail destination column 556, creates ane-mail containing the program name corresponding to ERROR or WARN, andtransmits the created e-mail to the obtained e-mail destination.

On the other hand, when the summarized connection state is better thanthe informing level, the processing returns to the step S32, and themonitoring program 55 repeatedly performs the operations in the stepsS33 to S36 for the next program name.

By repeatedly performing the processing in FIG. 13 for every programname in the received pair state display table 17, when an abnormality ora warning state has occurred to replication of a volume that theapplication uses, having the application name designated by theapplication management terminal 5, it is possible to automaticallyinform the application administrator or the like, as set in advance ofthe abnormality or the warning state.

For instance, in the pair state display table shown in FIG. 6, ERROR isset for the pair volume “002-003” corresponding to the program name“APP1-1.exe” corresponding to the application name “APP1”. Meanwhile, inapplication configuration information table 550 in FIG. 4, the informinglevel 555 corresponding to the program name “APP1-1.exe” is set toERROR. In other words, in the case of “APP1-1.exe”, the summarizedconnection state and the informing level agree with each other.Consequently, the monitoring program 55 transmits the mail describedabove to “aaa@x.co.jp” that is the e-mail destination set in advance,thereby automatically informing the application administrator or thelike of an abnormality or a state where an abnormality may occur.

Next, with reference to a flowchart shown in FIG. 14, an example of thereplication relation influence range identifying processing that isperformed by the storage management program 15 of the management server1 will be described.

A step S40 shows that processing occurs until the processing of thestorage management program 15 of the management server 1 shown in FIGS.11 and 12 described above is completed, and the pair state display table17 is transmitted to the application management terminal 5. Followingthis, in steps S41 and later, the replication relation influence rangeidentifying processing is performed.

In the step S41, the storage management program 15 judges whether aprocessing end condition has been satisfied. In more detail, the storagemanagement program 15 judges whether the processing has been performedfor every program name in the pair state display table 17. When a resultof this judgment is negative, the processing proceeds to a step S42. Onthe other hand, when the judgment result is positive, the storagemanagement program 15 ends the processing.

In the step S42, the storage management program 15 obtains thesummarized connection states corresponding to the program names from theconnection state (summary) column 565 one at a time, with the summarizedconnection state corresponding to the first program name in the pairstate display table 17 being obtained first.

In a step S43, the storage management program 15 judges whether theobtained summarized connection state is “WARN”. When a result of thisjudgment is positive, the processing proceeds to a step S44. On theother hand, when the judgment result is negative, the processingproceeds to a step S45. In the step S44, the storage management program15 refers to the configuration information and operation informationtable 16 in FIG. 5 using the volume IDs corresponding to the programname in the pair state display table 17 as a key, obtains volume IDs andsubsystem IDs from the primary column 1611 and the secondary column1612, stores the volume ID and subsystem ID corresponding to a primaryvolume and the volume ID and subsystem ID corresponding to a secondaryvolume in the primary column 1801 and the secondary column 1802 of theinfluence range display table 18 shown in FIG. 7, respectively, and sets“no problem” in the data consistency (primary) column 1808 and the dataconsistency (secondary) column 1809, thereby showing that no data losshas occurred. Also, the storage management program 15 sets acorresponding application name in the related application name column1803.

Next, in the step S45, the storage management program 15 judges whetherthe summarized connection state is “ERROR”. When a result of thisjudgment is positive, the processing proceeds to a step S46. On theother hand, when the judgment result is negative, the processingproceeds to a step S47. In the step S46, the storage management program15 refers to the configuration information and operation informationtable 16 in FIG. 5 using the volume IDs corresponding to the programname in the pair state display table 17 as a key, obtains volume IDs andsubsystem IDs from the primary column 1611 and the secondary column1612, stores the volume ID and subsystem ID corresponding to a primaryvolume and the volume ID and subsystem ID corresponding to a secondaryvolume in the primary column 1901 and the secondary column 1902 of theinfluence range display table 19 shown in FIG. 8, respectively, and setsone of “any problem” or “no problem” in the data consistency (primary)column 1908 and the data consistency (secondary) column 1909 accordingto the presence or absence of a data loss at a replication source orreplication destination due to a wire snapping state in a manner to bedescribed later. Also, the storage management program 15 sets acorresponding application name in the related application name column1903.

In the step S47, the storage management program 15 obtains statisticalinformation of the I/O frequency and the throughput corresponding to theprimary volume for which ERROR or WARN has been set. It is sufficientthat this statistical information is information with which it ispossible to find steep changes of the I/O frequency and the throughput.

In a step S48, the storage management program 15 judges whether the I/Ofrequency corresponding to the primary volume has increased steeply.When a result of this judgment is positive, the processing proceeds to astep S49. On the other hand, when the judgment result is negative, theprocessing proceeds to a step S51.

In the step S49, the storage management program 15 obtains the volume IDof each volume connected to the host-side port of the volumecorresponding to the current program name from the configurationinformation and operation information table 16 in FIG. 5, and sets theobtained volume ID in the influence range display table 18. Next, in astep S50, the storage management program 15 sets information that isnecessary to each pair state corresponding to the current program namein the influence range display table 18.

In the step S51, the storage management program 15 judges whether thethroughput corresponding to the primary volume has decreased steeply.When a result of this judgment is positive, the processing proceeds to astep S52. On the other hand, when the judgment result is negative, theprocessing returns to the step S41.

In the step S52, the storage management program 15 obtains the volume IDof each volume connected to the remote-side port of the volumecorresponding to the current program name from the configurationinformation and operation information table 16 in FIG. 5, and sets theobtained volume ID in the influence range display table 19. Next, in astep S53, the storage management program 15 sets information that isnecessary to each pair state corresponding to the current program namein the influence range display table 19. Then, the processing returns tothe step S41 and the storage management program 15 repeats theoperations in the steps S41 to S53 described above until the processinghave been performed for every program name. In this manner, theinfluence range display tables 18 and 19 are created. With the influencerange display tables 18 and 19, it becomes possible for the applicationadministrator to grasp each pair volume influenced by excessive I/O orwire snapping in a replication relation with ease and without delay.

Next, with reference to a subroutine shown in FIG. 15, an example willbe described of processing that is performed in the step S46 in FIG. 14(described above), for registering data consistency in the influencerange display table 19.

In a step S60, the storage management program 15 refers to the pairstate display table 17 in FIG. 6 to find volume IDs in the pair namecolumn 563, for which “ERROR” is set in the connection state column 564,and the storage management program 15 sets “any problem” in the dataconsistency (primary) column 1908 and the data consistency (secondary)column 1909 of the influence range display table 19 in FIG. 8 for thefound volume IDs.

Next, in a step S61, the storage management program 15 refers to theconfiguration information and operation information table 16 in FIG. 5and, when there exists no volume cascade configuration corresponding tothe current program name or when the pair state corresponding to thecurrent program name is SMPL, the subroutine ends. On the other hand,when there exists a cascade configuration, the processing proceeds to astep S62 in which the storage management program 15 obtains from theconfiguration information and operation information table 16 in FIG. 5,a pair state where the secondary volume of the current pair state is setas a primary volume.

Then, in a step S63, the storage management program 15 registers theprimary volume ID and the secondary volume ID of the pair state obtainedin the step S62 described above in the primary column 1901 and thesecondary column 1902 of the influence range display table 19 and alsoregisters “any problem” in the data consistency columns 1908 and 1909 ofthe table 19. Then, the processing returns to the step S61 describedabove, and the operations in the steps S61 to S63 are repeated until theend point of the cascade configuration is reached.

Through the processing described above, “any problem” is set in the dataconsistency columns for each pair volume cascaded with a pair volume,for which ERROR is set in the connection state column, because there isa high possibility that a data loss may exist in the cascaded pairvolume.

Next, with reference to a subroutine shown in FIG. 16, an example willbe described of processing that is performed in the step S49 in FIG. 14(described above) for registering the volume ID of each volume connectedto the host-side port of a pair volume, to which a problem has occurred,in the influence range display table 18.

In a step S70, the storage management program 15 obtains the port ID ofthe host-side port of a pair volume, to which ERROR (or WARN) hasoccurred, by referring to the configuration information and operationinformation table 16 in FIG. 5.

Then, in a step S71, the storage management program 15 judges whether asubroutine end condition has been satisfied. In more detail, the storagemanagement program 15 judges whether the processing has been performedfor every primary volume ID in the configuration information andoperation information table 16. When a result of this judgment ispositive, the storage management program 15 ends this subroutine. On theother hand, when the judgment result is negative, the processingproceeds to a step S72.

In the step S72, the storage management program 15 judges whether thevolume ID of a current primary volume is contained in the pair namecolumn 563 of the pair state display table 17, with the first primaryvolume in the configuration information and operation information table16 being set as the current primary volume first. When a result of thisjudgment is positive, the processing returns to the step S71 and thenext volume ID is set as a new check target. On the other hand, when thejudgment result is negative, the processing proceeds to a step S73.

In the step S73, the storage management program 15 obtains the port IDof the host-side port corresponding to the volume ID of the currentprimary volume from the configuration information and operationinformation table 16. Next, in a step S74, the storage managementprogram 15 judges whether the obtained port ID agrees with the port IDcorresponding to the pair volume to which ERROR has occurred. When aresult of this judgment is positive, the processing proceeds to a stepS75 in which the storage management program 15 registers the primaryvolume ID and its corresponding secondary volume ID in the primary andsecondary columns 1801 and 1802 of the influence range display table 18,and also registers “no problem” in the data consistency columns 1808 and1809 of the table 18.

Following this, the processing returns to the step S71, and the port IDcomparison is performed for every primary volume ID.

Through the processing described above, pair volumes corresponding tothe port ID of the host-side port, to which a volume where ERROR or WARNhas occurred is connected, are registered in succession in the influencerange display table 18.

Next, with reference to a subroutine shown in FIG. 17, an example willbe described of processing that is performed in the step S52 in FIG. 14(described above) for registering the volume ID of each volume connectedto the remote-side port of a pair volume, to which a problem hasoccurred, in the influence range display table 19.

In a step S80, by referring to the configuration information andoperation information table 16 in FIG. 5, the storage management program15 obtains the port ID of the remote-side port of a pair volume, towhich ERROR (or WARN) has occurred.

Next, in a step S81, the storage management program 15 judges whether asubroutine end condition has been satisfied. In more detail, the storagemanagement program 15 judges whether the processing has been performedfor every primary volume ID in the configuration information andoperation information table 16. When a result of this judgment ispositive, the storage management program 15 ends the subroutine. On theother hand, when the judgment result is negative, the processingproceeds to a step S82.

In the step S82, the storage management program 15 judges whether thevolume ID of a current primary volume is contained in the pair namecolumn 563 of the pair state display table 17, with the first primaryvolume in the configuration information and operation information table16 being set as the current primary volume first. When a result of thisjudgment is positive, the processing returns to the step S81 and thenext volume ID is set as a new check target. On the other hand, when thejudgment result is negative, the processing proceeds to a step S83.

In the step S83, the storage management program 15 obtains the port IDof the remote-side port corresponding to the volume ID of the currentprimary volume from the configuration information and operationinformation table 16. Next, in a step S84, the storage managementprogram 15 judges whether the obtained port ID agrees with the port IDcorresponding to the pair volume to which ERROR has occurred. When aresult of this judgment is positive, the processing proceeds to a stepS85 in which the storage management program 15 registers the primaryvolume ID and its corresponding secondary volume ID in the primary andsecondary columns 1901 and 1902 of the influence range display table 19,and also registers “no problem” in the data consistency columns 1908 and1909 of the table 19.

Following this, the processing returns to the step S81 and the port IDcomparison is performed for every primary volume ID.

Through the processing described above, pair volumes corresponding tothe port ID of the remote-side port, to which a volume where ERROR orWARN has occurred is connected, are registered in succession in theinfluence range display table 19.

Next, with reference to a subroutine shown in FIG. 18, an example willbe described of processing that is performed in the step S50 in FIG. 14(described above) for registering information that is necessary toregistered pair states in the influence range display table 18concerning the host-side ports.

In a step S90, the storage management program 15 judges whether asubroutine end condition has been satisfied. In more detail, the storagemanagement program 15 judges whether the processing has been performedfor every primary volume ID in the influence range display table 18.When a result of this judgment is positive, the storage managementprogram 15 ends the subroutine. On the other hand, when the judgmentresult is negative, the processing proceeds to a step S91.

In the step S91, the storage management program 15 judges whether acurrent volume ID is contained in the pair state display table 17, withthe first primary volume ID in the influence range display table 18being set as the current volume ID first. When a result of this judgmentis positive, the processing proceeds to a step S93. On the other hand,when the judgment result is negative, the processing proceeds to a stepS92.

In the step S92, the current volume ID is not contained in the pairstate display table 17, so the storage management program 15 informs theapplication management programs 25, 35, and 45 of the volume ID andobtains the application name corresponding to the volume ID. On theother hand, in the step S93, the storage management program 15 obtainsthe application name corresponding to the volume ID from the pair statedisplay table 17.

Next, in a step S94, the storage management program 15 registers theobtained application name in the related application name column 1803 ofthe influence range display table 18 at a location corresponding to thevolume ID.

Then, in a step S95, the storage management program 15 obtains the portID of the host-side port corresponding to the volume ID from theconfiguration information and operation information table 16, andregisters the obtained port ID in the host-side port ID column 1804 ofthe influence range display table 18.

Next, in a step S96, the storage management program 15 obtains an I/Ofrequency corresponding to the volume ID from the configurationinformation and operation information table 16 and registers theobtained I/O frequency in the I/O frequency column 1805 of the influencerange display table 18. Following this, in a step S97, the storagemanagement program 15 obtains a throughput corresponding to the volumeID from the configuration information and operation information table 16and registers the obtained throughput in the throughput column 1806 ofthe influence range display table 18. Then, in a step S98, the storagemanagement program 15 obtains a side file usage ratio corresponding tothe volume ID from the configuration information and operationinformation table 16, and registers the obtained side file usage ratioin the side file usage ratio column 1807 of the influence range displaytable 18.

By performing the operations in the steps S90 to S98 described above forevery primary volume ID in the influence range display table 18, theinfluence range display table 18 is generated.

Next, with reference to a subroutine shown in FIG. 19, an example willbe described of processing that is performed in the step S53 in FIG. 14(described above) for registering information that is necessary toregistered pair states in the influence range display table 19concerning the remote-side ports.

Like the steps S90 to S98 in FIG. 18 described above, steps S100 to S108in FIG. 19 are repeatedly executed for every primary volume ID in theinfluence range display table 19. Also, in the case of FIG. 18, thehost-side port ID, I/O frequency, throughput, and side file usage ratiocorresponding to the primary volume ID are obtained and are registeredin the influence range display table 18 in the steps S95 and later. Incontrast to this, in the case of FIG. 19, the remote-side port ID, I/Ofrequency, throughput, and side file usage ratio corresponding to theprimary volume ID are obtained and are registered in the influence rangedisplay table 19 in the steps S105 and later. In other steps, the sameoperations as in the case of FIG. 18 are performed.

By performing the operations in the steps S100 to S108 for every primaryvolume ID in the influence range display table 19, the influence rangedisplay table 19 is generated.

As a result of the replication relation influence range identifyingdescribed above, when an abnormality has occurred to the state of a pairvolume relating to an application that is a monitoring target, or whenan abnormality may occur to the state of the pair volume (when warninghas occurred thereto), a range where it is necessary to take measuresand a range where the problem seems to exert influences are selectivelydisplayed. When doing so, the storage management program 15 obtainsoperation information relating to the phenomenon that has occurred andnarrows down the influence range according to the obtained operationinformation. Consequently, even when there have occurred phenomena thatseem to be the same, the range of the narrowing down varies depending oncircumstances at that time. Therefore, it becomes possible to exhibit anappropriate influence range to the application administrator.

As described above, according to this invention, it becomes possible tomonitor each volume that a specific application uses and the pair state(replication relation) of each volume cascaded or paired therefrom, andto monitor whether a problem has occurred to replication of data.

After obtaining each program name and each volume ID corresponding to aspecific application name from the application configuration informationtable 550 shown in FIG. 4, the application management terminal 5transmits them to the management server 1. The management server 1obtains the pair state corresponding to the volume ID from theconfiguration information and operation information table shown in FIG.5, and stores the obtained information in the pair state display table.At this time, the management server 1 also obtains the pair state ofeach cascaded volume from the configuration information and operationinformation table, and stores it in the pair state display table.Finally, the management server 1 adds information where the pair stateshave been summarized to the pair state display table and then providesthis table to the application management terminal 5 that the applicationadministrator uses. With the summarized information in the table, itbecomes possible for the application administrator to confirm whether anabnormality has occurred to data that he/she manages and each pair stateat a replication destination of the data at a glance.

It should be noted that in the embodiment described above, the tracingof pair volumes (replication relation) that an application uses and thedetection of a fault are performed by the storage management program 15of the management server 1 and the monitoring program 55 of theapplication management terminal 5, although the storage managementprogram 15 and the monitoring program 55 may be executed in the samecomputer.

Also, in the embodiment described above, the application configurationinformation table 550 is provided in the application management terminal5, although this table 550 may be provided in each of the applicationservers 2 to 4, and may be inquired from the application managementterminal 5.

While the present invention has been described in detail and pictoriallyin the accompanying drawings, the present invention is not limited tosuch detail but covers various obvious modifications and equivalentarrangements, which fall within the purview of the appended claims.

1. A method for managing a storage system comprising an applicationserver that provides an application, a first volume that stores data ofthe application, and a plurality of second volumes set in pair stateswhere replicas of the first volume are stored, the method comprising thesteps of: obtaining the second volumes set in the pair states with thefirst volume as a starting point; and summarizing information relatingto an activity of the pairs of the second volumes based on a result ofthe obtaining, the information including at least a performanceinformation of at least one of replication and usage of resources sharedby the pairs, wherein the storage system comprises a plurality ofapplication servers and the application is composed of a plurality ofprograms that are executed by the plurality of application servers,wherein the step of obtaining the second volumes comprises: identifyingthe application; identifying a first volume storing data for eachprogram of the identified application; and obtaining every second volumeset in a pair state with the first volume, wherein the step ofsummarizing the attribute information comprises: summarizing the firstvolume and the second volume for each program of the identifiedapplication.
 2. A method for managing a storage system comprising anapplication server that provides an application, a first volume thatstores data of the application, and a plurality of second volumes set inpair states where replicas of the first volume are stored, the methodcomprising the steps of: obtaining the second volumes set in the pairstates with the first volume as a starting point; and summarizingperformance information relating to an activity of the pairs of thesecond volumes based on a result of the obtaining, wherein the storagesystem comprises a plurality of application servers and the applicationis composed of a plurality of programs that are executed by theplurality of application servers, wherein the step of obtaining thesecond volumes comprises: identifying the application; identifying afirst volume storing data for each program of the identifiedapplication; obtaining every second volume set in a pair state with thefirst volume; and obtaining at least one of application servers usingthe first volume and the second volumes, wherein the step of summarizingperformance information comprises: summarizing the first volume and thesecond volume for each program of the identified application.